perm filename PROP.74A[DOC,TOB] blob sn#135564 filedate 1974-12-10 generic text, type T, neo UTF8
00100		In the interest of having an efficient transfer of
00200	information to me, I would like to suggest some guidelines
00300	for the discussion of the research program.  First, I would
00400	like a top-down, breadth-first presentation of the objectives,
00500	associating with each top-level objective the
00600	approach to achievement, the identification of the people
00700	working on it, and an estimate of the cost (per year and
00800	over-all).  Each objective should be broken down into
00900	a tree of subobjectives, set against a time scale.  For the
01000	past, accomplishments should be summarized, and, for the future,
01100	milestones should be laid out.  Having this information prepared
01200	ahead of time and in form that will let me take a copy with me
01300	would speed up the discussion and save me from taking notes.
01400	
01500		In the foregoing, objectives, accomplishments, and the
01600	like should be definite.  It is not a valid objective 'to explore
01700	x'.  If 'x' is a new continent, gold may be an objective, or
01800	reaching the peak of the highest mountain, or establishing
01900	trade with the natives at a given profit level and in a given amount.
02000	The same general semantics appears to apply equally to scientific
02100	and technical exploration.  In any event, in order to use the
02200	information I am going to have to get it into definite-objective,
02300	definite-cost, definite-accomplishment form, and it will help me
02400	if you will do some of the packaging for me.
02500	
02600		After the over-all shape of the program is defined,
02700	the discussion should subdivide itself into N subdiscussions,
02800	one for each main subproject, and each of these should start out
02900	with a very short top-down, breadth-first introduction---but then go
03000	into informal mode with interaction predominating.  I would like,
03100	in the subdiscussions, to get acquainted with the people doing
03200	the work---not everyone, of course, but one, two, or three people
03300	per subproject, depending on its size and importance.
03400	
03500		At the end of the visit, I would like to have at least half
03600	an hour with the Principal Investigator and any of his right-hand
03700	people he thinks appropriate.  This would be a kind of executive
03800	session.
     

00100	OBJECTIVE Make machines which are good tools for humans, particularly
00105	for  assembly:      machines  which  are  intelligent,  ie which SEE,
00110	MANIPULATE their environment, and REASON about how to manipulate.
00115	
00120				ROBOTICS
00125		MANIPULATION		REASONING		SEEING
00130		Language for Assembly	Assembly planning	Visual
00135	Feedback
00140		Sensing						Complex
00145	Objects
00150		Control using Sensors
00155		Synchrony of Manip
00160	
00165				PEOPLE
00170				Binford 1/2
00175		Finkel	free		Taylor	free				
00180						Miyamoto free		Bolles free
00185								Schukin
00190	student
00195		Takeda	free					Clancy
00200	student
00205								Ganapathy
00210	student
00215	
00220				others not supported
00225		Shimano	student					Pingle staff
00230		Scheinman student
00235	
00240	
00245			I.	MANIPULATION OBJECTIVE
00250		To provide a system which can be easily programmed to perform
00255	a  wide  variety  of  manipulation  tasks;  dexterous enough for many
00260	assemblies.
00265			SUB-OBJECTIVES
00270		Language for programmable assembly
00275		Sensing for manipulation
00280		Control based on sensing
00285		Synchronized motion of two manipulators
00290	
00295		LANGUAGE FOR PROGRAMMABLE ASSEMBLY
00300		We will implement  the  language  AL.   In  the  past,  Paul,
00305	Finkel,  Taylor,  and  Bolles have designed the language AL, based on
00310	Paul's  past  experience  with  WAVE,  our  previous   language   for
00315	manipulation.  It is our experience that WAVE has been very valuable.
00320	
00325		SENSING FOR MANIPULATION
00330		We will implement force sensors with sensitivity of  20  gms.
00335	We  will  implement  touch  sensors with sensitivity of 2gms on a 2x3
00340	matrix for each finger.   We will be able to  do  adaptive  grasping,
00345	exploring with touch, and inserting screws into holes by tipping them
00350	and feeling when they drop into the hole. Previously,  we  have  used
00355	force  sensing  based on motor torques with a sensitivity of 500 gms,
00360	and touch sensing based on 1 microswitch per finger with  sensitivity
00365	of 10 gms.
00370	
00375		CONTROL BASED ON TOUCH AND FORCE
00380		CONTROL OF SYNCHRONIZED MANIPULATORS
00385		We  will formulate the theoretical basis for force control of
00390	manipulators, determine how sensitive force control can be  with  the
00395	Scheinman  manipulators,  and  optimize  those  abilities and provide
00400	language  primitives.       We  will  analyze  and  experiment   with
00405	synchronized   control  of  two  manipulators,  to  provide  language
00410	primitives for AL. We will carry out tasks which require two arms  in
00415	synchrony,  sensitive touch, and force. A man can do a lot blind, but
00420	much less with one arm, only two fingers, and poor sense of force and
00425	touch. We were the first group to use two manipulators under computer
00430	control. In the past, Paul and Bolles have performed  assembly  tasks
00435	using  force  and touch sensing. We have formulated the force control
00440	and synchronization primitives which now are in AL.
00445	
00450	
00455			II.	REASONING ABOUT MANIPULATION	OBJECTIVE  To
00460	provide a system which programs many of the simple steps required  in
00465	performing   manipulations,   to   relieve   humans   of  detail  and
00470	bookkeeping.
00475	
00480			VERY HIGH LEVEL LANGUAGE FOR PROGRAMMABLE ASSEMBLY
00485		We   will   implement  a  system  which  aids  in  convenient
00490	programming of an assembly of the difficulty of a two-stroke gasoline
00495	engine, in commands at the level of a manual for assembly.  Imagine a
00500	production  engineer  setting  up  an  assembly  station.    We  will
00505	accomplish this by maintaining a planning model, including a powerful
00510	determination of locus of  objects  under  symbolic  constraints,  by
00515	modelling  objects,  and  operations,  by  testing  collision  of the
00520	manipulator with the assembly environment, and by choosing  sequences
00525	of operations that do not lead to awkward and wasteful or unnecessary
00530	motions.    We will provide the system with the ability  to  ask  for
00535	necessary  advice.   We will interface as much as possible with other
00540	work on automatic programming. Taylor has designed the planning model
00545	in AL, programmed a previous preliminary system to resolve sequencing
00550	problems, and made a package  to  determine  the  locus  of  objects.
00555	Luckham  has  programmed  the  sequence  of  the  pump  assembly (not
00560	including manipulation) in the Buchanan-Luckham automatic programming
00565	system.
00570	
00575				III.	VISION
00580		OBJECTIVE:     To  provide  a  system  which  can  be  easily
00585	programmed  to  see  a  useful class of scenes, specifically:  visual
00590	feedback for control of assembly; description and  identification  of
00595	complex objects in a complex visual environment; vision for planetary
00600	exploration.
00605	
00610		VISUAL FEEDBACK FOR CONTROL OF ASSEMBLY
00615		We  will  sense the positioning error of real parts, to guide
00620	their assembly.   They may be curved objects, shiny, dirty; they  are
00625	not  expected to be specially painted or prepared.  We are assuming a
00630	situation realistic for assembly; that the operation  is  repetitive,
00635	with  small  shifts  of  parts.   For example:  insert a screw into a
00640	distributor body with position  variation  of  1  cm;  or  align  two
00645	surfaces.  We  sense the relative location of features (determined by
00650	edge and small area correlation) in a single image, and in  pairs  of
00655	images.  We relate relative locations in images to relative locations
00660	in the world.   As tools, we  require  a  hand  held  camera,  stereo
00665	camera,  stereo  correspondence  techniques,  a  vision language, and
00670	representation of image models. Previous work has been  with  blocks,
00675	often  specially  painted for high contrast. Our past accomplishments
00680	are relative alignment of blocks using outlines; using internal edges
00685	of  specially  painted  blocks,  using  stereo  (multiple images from
00690	turntable); and most recently for blocks without special preparation.
00695	
00700			COMPLEX OBJECTS
00705		We  will  describe  the shape of and identify complex objects
00710	from a rich set of possible objects in a complex visual  environment,
00715	using  tv  images.  We  sense  depth  discontinuities using laser and
00720	stereo, and sense region boundaries  using  edge,  region  and  curve
00725	linking  techniques.    We  describe  region  boundaries using region
00730	description routines as used by Nevatia and Binford.  We relate these
00735	features  to objects using the object representation and 3d cues from
00740	2d.   As tools, we  require  stereo  cameras,  laser  ranging  setup,
00745	representation   and  vision  language.   Our  past  accomplishments:
00750	Binford designed a useful object  representation  and  laser  ranging
00755	technique;  Agin  built  ranging  device  and  implemented  system to
00760	describe  parts  of  objects;  Nevatia   greatly   generalized   part
00765	descriptions,  described  complete complete objects, recognized doll,
00770	toy horse, hammer.   We were the first to recognize objects  of  this
00775	complexity,  including  a  structured  visual  memory  which required
00780	matching against only a subclass of similar objects, as against brute
00785	force   searching   of  the  entire  set  of  models.  We  have  also
00790	experimented  extensively  with  motion  parallax,  and  with  region
00795	separation based on color and texture.
00800	
00805	
00810	
00815	
00820			ACCOMPLISHMENTS AND MILESTONES
00825	
00830				MANIPULATION
00835	
00840		LANGUAGE	SENSING		CONTROL		STRTEGIES	
00845	
00850										1972
00855	
00860	
00865	
00870										1973
00875	
00880	
00885	
00890	
00895										1974
00900	
00905	
00910	
00915	
00920										1975
00925	
00930	
00935	
00940	
00945										1976
00950	
00955	
00960	
00965	
00970									1977
00975	
00980	
00985	
00990	
00995										1978
     

00100	LANGUAGE FOR PROGRAMMABLE ASSEMBLY
00200	
00300	ADVANCED MANIPULATION CAPABILITIES
00400	  mini system
00500	  sensors: touch,force
00600	  formulate analysis and control language
00700	    touch: grasping and shape recognition
00800	    force control
00900	    synchronized simultaneous motion
01000	  task execution
01100	
01200	VERY HIGH LEVEL LANGUAGE FOR PROGRAMMABLE ASSEMBLY
01300	  representation
01400	  constraints-locus info
01500	  planning model
01600	  consistent sequences
01700	  collision detection
01800	
01900	
02000	
     

00100	OBJECTIVES
00200	programming of programmable devices at the level of manuals for assembly
00300	strategies and planning model for real world tasks
00400	accept advice, ask for advice, explain decisions to user
00500	facilities for integrating assembly with factory systems
00600	
00700	SUBOBJECTIVES
00800	provide a powerful language for accomplishing tasks by making a rich
00900	  semantics of models, repr, primitives
01000	Model what we know at each point in program, as much as needed for task
01100	  provide a powerful modelling language
01200	  ways in which user can use it
01300	Internal repr of knowledge
01400	Communicating with planning model
01500	
01600	MILESTONES
01700	March system
01800	  servo
01900	  primitive manipulation language
02000	  planning model simulation
02100	June system: level of pump program   OUTLINE SYSTEM
02200	  problem-solving paradigm
02300	  relational semantics
02400	  small library of parts feeding
02500	  primitives--peg in hole, fit face of one object to another face
02600	    not just canned strategies; flexible and modified
02700	  sequence tasks depending on estimates of awkwardness
02800	    don't work on backside; choose a good position initially to avoid unnecessary
02900	    motion and putting down
03000	  keep track of accuracy to select operations
03100	NEXT MILESTONE:  FILL IN SYSTEM  engine assembly in shop operations
03200	  expand operations
03300	  expand primitives to cover more cases
03400	  make planning model more sophisticated--world splitting, merging
03500	  handling contingencies using world model; planning for error recovery
03600	  planning for inspection
03700	  planning for vision
03800	  libraries and experimental work
03900	    code in library routines
04000	    represent library routines in machine readable form
04100	  OBJECT AND SHAPE REPRESENTATION
04200	  OBSTACLE AVOIDANCE
04300	  LOCUS INFO
04400	  GRAPHICS IN AL
04500	
04600	
04700	In what way is the domain interesting?
04800	  very rich semantics
04900	  modelling
05000	  economic significance
05100	  interaction with environment--plan for knowledge gathering, modelling influence
05200	    of knowledge on ther knowledge
05300	  interaction with human users
05400	
05500	
     

00100	We address these primary vision problems:
00200		1)  What  tasks  can be done with current computing capacity?
00300	PDP10 class machines have a million times less processing power  than
00400	what  we  know of the human low level (Hubel-Wiesel and stereo cells)
00500	visual system. We think a variety of tasks can be chosen.
00600		2.    What can be done with a million times current computing
00700	capacity and large memory? Special-purpose computers well within  the
00800	state   of   the   art  could  gain  a  factor  of  1000,  while  the
00900	semi-conductor  industry  is   making   revolutionary   advances   in
01000	complexity of devices, which could translate into parallelism for low
01100	level operations. In a few decades, gains of a million times  current
01200	computing  power  may  be  available.    If we had such machines, our
01300	understanding and software would not allow us to  make  full  use  of
01400	that  power,  although  we  could  make  significant  use  of current
01500	techniques which we avoid because of computation cost.
01600		3.  What representations make possible strategies and systems
01700	of reasonable complexity, systems which are programmable for  a  wide
01800	range of tasks? Programs are complex, even when they deal with only a
01900	small knowledge base and only one or two visual facilities, and  will
02000	be  much  more  complex  when they use the variety of possible visual
02100	facilities.  The problems are much larger than can be accomplished by
02200	a single researcher, or single laboratory.
02300	
02400	Visual  feedback  tasks  for  assembly,  such as putting a screw in a
02500	hole, are among those tasks  which  can  be  done  now  with  current
02600	hardware with reasonable time. This feedback facility has utility for
02700	those tasks for which positioning is sufficiently  variable  to  make
02800	vision  faster  than  blind  searching  using  force feedback, or for
02900	setting up programmable assembly  devices.        In  the  industrial
03000	environment,  the  tasks  are repetitive, the objects are well known.
03100	Objects have glare, shadows, textures and  curved  surfaces.    Since
03200	locations  of objects are reasonably well known, we want to determine
03300	small changes in  location.           A  sample  picture  is  a  good
03400	two-dimensional  model  for  subsequent images.     We are building a
03500	rapidly programmable system for a variety of visual  feedback  tasks.
03600	The  system  will  describe two-dimensional images in terms of curves
03700	and  regions,  interact  with  the  user  who  can  supply   symbolic
03800	information,  and  generate  effective  sequences  of  operations  to
03900	localize shapes in subsequent images, using curve  matching,  stereo,
04000	and correlation of small features.  Some features such as long curves
04100	require less time to find than small features, and the effective plan
04200	is graph-structured with near-minimum time and acceptable reliability
04300	and contingency.     This will be a major contribution to  strategies
04400	involving  structured  properties such as shape, as opposed to solely
04500	point properties such as color.
04600	
04700	We have succeeded in recognizing complex objects such  as  dolls  and
04800	toy  horses,  with  some  obscuration,  using depth perception with a
04900	laser.        That  work  demonstrated  the  concept  of  description
05000	determined  by  a  representation  of  three-dimensional shape.    An
05100	important feature  was  that  the  recognition  took  place,  not  by
05200	matching  against  a  list  of  all  models in the visual memory, but
05300	against a subset of similar objects,  obtained  by  indexing  into  a
05400	structured  visual  memory.    We will extend that project in several
05500	directions:   we will deal with more  severe  obscuration  by  making
05600	multiple  and more local shape indexing; use stereo and monocular tv;
05700	increase the distinguishing power by increasing the resolution of low
05800	level  shape  descriptions (some of the simplest identifying features
05900	are fine details, such as human hands) and increasing the  resolution
06000	using top-down verification; improve the concepts of body separation;
06100	use several levels of (and more global) description.
06200	
06300	Several threads run through the plan of our vision projects: they all
06400	use  stereo,  both  bulk  correlation and feature correlation.  Other
06500	modules  will  be  developed  and  contribute  across  the  range  of
06600	projects,  including  a  curve linking process for curved objects and
06700	visual feedback (extending the ellipse finding  routine  of  Perkins,
06800	used  to  recognize  cylinders), and an optimal curve boundary scheme
06900	for region determination.
07000	
07100	Both visual feedback and the experiments with  complex  objects  will
07200	involve a strategy phase.  In our system, there will be both top-down
07300	(recognition) strategies,  and  bottom-up  (description)  strategies.
07400	Our   ccntention   is  that  vision  involves  extensive  description
07500	facilities in addition to recognition.   The  description  strategies
07600	are the more difficult.
07700	
07800	We  will  base  our  strategies  on  representation  of  objects  and
07900	intermediate control structures.  These representations  provide  the
08000	semantics  of  a  language  in  which  to express strategies, and the
08100	structure of programs.  Just as formalization of  syntax  provided  a
08200	basis  for  systematizing  compilation of complex syntax, formalizing
08300	semantics  enables  systematizing   compilation   of   complex   data
08400	structures.   This  vision  language  is  embedded  in  SAIL; it is a
08500	language in the  sense  of  providing  a  rich  semantics  of  visual
08600	structures.
08700	
08800	
08900	
09000	
     

00100			MANIPULATION
00200	
00300	
00400	We propose to investigate intelligent systems which use programmable
00500	manipulators to interact with their environment.  We have chosen the
00600	paradigm of automated assembly.  We have established leadership in
00700	manipulation by a coherent program: designing and building high quality
00800	manipulators [] (which several labs have copied); developing software servo 
00900	force and touch control []; developing a language for manipulation, WAVE [].
01000	We have carried out several assembly tasks [] involving force and touch,
01100	vision, tools and two arms.  Use of the language WAVE made possible a degree of
01200	generality; we evolved a library of macros of assembly modules which made successive
01300	tasks increasingly quick and easy to program.  Of course, the system developed
01400	for assembly is applicable to other domains, but choosing a particular domain has 
01500	kept our plan focussed.  We have also developed a nucleus of talented researchers.
01600	
01700	We plan the following projects:
01800	a) language for programmable assembly
01900	b) advanced manipulation abilities
02000	c) very high level language for programmable assembly.
02100	We give details below.
02200	
02300		LANGUAGE FOR PROGRAMMABLE ASSEMBLY
02400	We have designed a language for programmable assembly, to succeed WAVE.  Our
02500	past experience is that WAVE, our previous manipulation language, has been
02600	extremely valuable.  The new language is high level, with special specification
02700	of trajectories, force control, monitors for conditions such as touch, and
02800	synchronization of two or more manipulators.  The language also is model-based
02900	in that it keeps a planning model of the environment for compile time evaluation.
03000	We describe planning facilities under the section on very high level language
03100	for programmable assembly.  The language can control a wide variety of devices
03200	by including special solution programs for each, and the framework is adequate
03300	to control more than two devices.  AL is a research vehicle.  Some interesting
03400	concepts for synchronizing manipulators, and force control have been included in the language, but we feel
03500	language, but we believe
03600	that these a priori designs are inadequate.  Analytic studies and experiments will
03700	improve our understanding and language abilities for control of force and synchronized
03800	manipulators
03900	
04000		ADVANCED MANIPULATION FACILITIES
04100	We have accomplished assembly tasks with crude force and touch sensing.  The system
04200	sensed motor currents of arm joint motors to sense forces greater than 500 gms.
04300	A single microswitch on each finger sensed touch of more than 10 gms.  We are
04400	developing new sensor hardware: a wrist sensitive to torques and forces greater than
04500	20 gms; touch sensors with sensitivity 1 gm in a 2 by 3 matrix on each finger.
04600	
04700	
     

00100	what needed? what preconditions? When possible to be done?
00200	PROJECTS
00300	NSF
00400	finish AL			visual feedback (rcb,kkp,bgb)
00500	force (bes)			stereo (kkp,pdq,bgb)
00600	collision detect (bgb,kkp)	visual strategies & models (tob,ys)
00700	strategies assembly (rht)	vision language (tob,kkp)
00800	simultaneous motion (??)	touch (st,cj)
00900	gedanken expts (tob,..)		visual hardware
01000	descriptors (tob)		complex objects (??)
01100	task execution (bes,rht)
01200	
01300	FINISH 'AL: (RF,RHT,BES)
01400	runtime system (BES)
01500	compiler (RF,RHT)
01600	monitor (RF,RHT)
01700	
01800	FORCE SENSING (BES)
01900	sensor protection design (VDS)
02000	fabricate protection (VDS)
02100	interface w/ blue arm (TAG)---wait until arm interface debugged
02200	duplicate sensor (BES)
02300	runtime force calc (BES)
02400	force servo program (BES)  determine limits of force servo resolution
02500	conceptualization of force control (BES)
02600	
02700	COLLISION DETECTION (BGB,KKP,MIYAMOTO)
02800	algorithm
02900	graphics
03000	interface with AL
03100	
03200	ASSEMBLY STRATEGIES (RHT)
03300	manipulation expts
03400	maintain planning model
03500	locus info
03600	represent objects
03700	progressive refinements: specialist, bureaucrats
03800	
03900	SIMULTANEOUS MOTION OF TWO ARMS
04000	choose tasks
04100	program before AL ready
04200	help put features into AL
04300	test programs
04400	formulate new treatment
04500	
04600	GEDANKEN EXPTS: inspection, vision strategies, assembly
04700	collect those we have now (pump, gas engine)
04800	collect those of others
04900	survey industry
05000	work out other tasks
05100	summarize
05200	
05300	DESCRIPTORS: shape,assembly,fabrication,collision detect,strategies,
05400	   control structure,tasks
05500	overall scheme
05600	summarize
05700	survey industry
05800	detailed development
05900	summarize
06000	
06100	TASK EXECUTION
06200	force
06300	simultaneous motion
06400	test AL
06500	
06600	
06700	
06800	VISUAL FEEDBACK (RCB,KKP)
06900	2D repr
07000	interactive cursor system
07100	characterize curves
07200	cost-benefit analysis
07300	tolerance analysis-successive localization
07400	curve verification
07500	correlation
07600	minimization-graph search
07700	3d graphics
07800	
07900	VISUAL STRATEGIES
08000	primitives from Vision Language
08100	use graph primitives from AL
08200	
08300	VISION
08400	optimal curve
08500	stereo
08600	texture
08700	curve linking
08800	coarse sampling regions
08900	strategies-representation of structure
09000	representation of complex objects
09100	tasks-paradigms
09200	
09300	OPTIMAL CURVE
09400	local approx to intensity surface
09500	   sin(cosα*x+sinα*y+β); sinx,cosx siny,cosy
09600	extended approx consistent at interface
09700	analtyic form of local and extended forms
09800	computational complexity; limit of support; sensitivity
09900	
10000	TEXTURE
10100	region boundaries
10200	region descriptors or boundary descriptors
10300	proximity
10400	
10500	STEREO
10600	calibration-stereo coordinates
10700	boundaries
10800	context
10900	curved objects--envelope
11000	
11100	CURVE LINKING
11200	proximity angle, position
11300	calc limits on curve
11400	curve testing-coarse
11500	curve description-fine
11600	
11700	COMPLEX OBJECTS
11800	increase resolution, low level and top-down verify
11900	shape indexing
12000	stereo and monocular tv
12100	body separation
12200	cross scan linking using 2d array
12300	cross sections
12400	more global description
12500	description of junctions, cross section shape and articualtion inference
12600	obscuration
12700	
12800	
12900	TASKS****
13000	VISUAL FEEDBACK--2D--VERIFICATION VISION
13100	2d version
13200	speed-sacrifice generality
13300	  leads to special case kludges or strategy generation of such kludges
13400	programmability
13500	boundary descrition-quick characterizations
13600	  mark tools and hand
13700	  long curves--find a crossing easily
13800	  coarse region segmentation (characterize region from long curves)
13900	correlation for small feature windows
14000	
14100	FINDING OBJECTS AMONG A SMALL CLASS
14200	FIND TOOLS ON A CLUTTERED TABLE
14300	3d model
14400	feature abstraction for recognition
14500	structure of features
14600	bottom-up or top-down
14700	stereo-shape indexing
14800	
14900	
     

00100	FUNDAMENTAL VISION PROBLEMS
00200	segmentation-body,part
00300	obscuration-indexing
00400	representation
00500	computational complexity
00600	linking-indexing
00700	description vs recognition
00800	use of context
00900	learning
01000	low level, bottom up vs high level, top down
01100	
01200	COMPLEX OBJECTS
01300	small details, particularly terminations of limbs are very important
01400	in distinguishing similar objects (two animals); consider hands and
01500	feet of humans; thus, increase resolution at low level, use verification
01600	from high level; use fovea
01700	
01800	match on cross section by cross section basis. 
01900	hypothesis-verification techniques and cross section description
02000	
02100	boundary cross scan linking for laser by 2d arrays (perhaps two scales)
02200	
02300	analytic breakeven point in space between hash coding and nxm array.
02400	ie how many bits necessary in hash code entry.  What is the time cost?
02500	
02600	More sophisticate body separation techniques
02700	
02800	inference of articulation
02900	
03000	fore/aft symmetry--man
03100	
03200	more global choice of local descriptions--different sort of piece
03300	  axis finding; redescription-pinch off smaller pieces, extend larger
03400	  pieces
03500	
03600	is it possible to orient in a description: main piece
03700	  front/back; head/tail
03800	  head is like head of an arrow; supports are at the root end of a tree;
03900	  ie, head is single, feet are multiple--eg tripod, man
04000	
04100	straight axis pieces
04200	
04300	difficulties:
04400	widths depend on viewing angle
04500	lengths sensitive to angles of limbs, where make the discontinuity break
04600	
04700	
04800	intuitive distinction horse vs human
04900	upright vs all fours--angles of joints
05000	neck and head--short vs long and conical w/ bend at head
05100	width of legs vs width of body
05200	tail
05300	hands and feet
05400	shape of legs-horse more conical
05500	skin texture
05600	range of articulation--reject for now-not easily inferred from image
05700	  types of joints-ball and socket.  should be able to guess range of
05800	  some joints from image; ie arms vs legs; joints which conserve cross
05900	  section;  often, legs do not have wide range of opening along line
06000	  of pairing; legs are ball joints; knees also?
06100	
06200	size hierarchy and indexing
06300	
06400	
06500	REPRESENTATION 
06600	CAM tasks
06700	future: planning, predicting future performance
06800	present: information,design,orders,scheduling
06900	past: monitor performance
07000	
07100	dynamic characterization of devices in terms of self determination
07200	of torque, friction, gravity, acceleration terms for arm
07300	
07400	calculate volume moments, display for spine-cross sections
07500	
07600	represent fabrication operations
07700	represent assembly operations
07800	formalization of cylindrical transform
07900	spline fits to local coes from projection
08000	
08100	vision language
08200	symbolic entity
08300	spatial entity
08400	image entity
08500	operations
08600	  spatial-spatial   eg modelling, hypotheses
08700	  spatial-image     eg display
08800	  image-image       eg low level operators
08900	  image-spatial     eg 3d cues and hypotheses
09000	
09100	representation based on task
09200	tasks for descriptors
09300	  display
09400	    intersections
09500	    local visibility
09600	    global visibility
09700	    run-length coding w/ line to line coherence
09800	  mathematics-algebraic geometry
09900	    singularities
10000	    behavior of families
10100	  recognition
10200	  design
10300	  scheduling
10400	  optimization and costing
10500	  feasibility and error analysis
10600	  trajectory optimization of arms
10700	    utilization of expensive machines
10800	  machining
10900	    obstacle avoidance
11000	  numericallly controlled inspection and measurement
11100	  error and constraint satisfaction
11200	  monitoring and disaster detection
11300	tasks for design
11400	  display
11500	    intersections
11600	    local visibility
11700	    global visibility
11800	    run-length coding w/ line to line coherence
11900	  machining (fabrication operation planning)
12000	  assembly strategy
12100	  avoidance
12200	  visual perception
12300	  deciding similarity of shapes (in terms of fabrication operations)
12400	  constraint solution
12500	design elements--fabrication operations
12600	  holes (tapped), fillets, bosses, bevels, chamfer, countersink
12700	
12800	machining
12900	represent:
13000	  parts and material (blank)
13100	  lathe motions (degrees of freedom)
13200	  cutting tools, cutting dynamics and tool wear
13300	  constraints-collision avoidance-feed direction
13400	  dynamics-feed rates, torque, chatter
13500	  cost-tool wear, time for tool change, risk of breakage, rough and fine
13600	  errors-tolerance, roughness
13700	  feedback (machine sensors)
13800	  interaction with user
13900	tasks:
14000	  collision avoid
14100	  cost minimization
14200	  error satisfaction
14300	  monitoring and inspection
14400	  disaster detection
14500	  tool selection and clamping, programming output format
14600	  machine control
14700	  translate 3d geometry to 1d geometry
14800	  interact w/ scheduling
14900	operations
15000	  roughing
15100	  fine cut
15200	  grooving
15300	  drilling
15400	  threading
15500	  adaptive control/optimization
15600	time
15700	causal relations
15800	function
15900	structure
16000	environment
16100	pathology
16200	operations
16300	
16400	Barrow, Tenenbaum graph scheme is essentially a one-level representation;
16500	ie the depth data are essentially matched to the semantic representation
16600	(spatial relations).  A better system must be multi-level representaion.
16700	That one depends heavily on the assignment of local interpretations to features;
16800	I think that works only when the local features are shape features, which
16900	is straightforward with depth information, but not with image info.
17000	
17100	Waltz-like graph with general evaluation functions at nodes.  When a value
17200	changes, only nodes dependent on a value are changed.
17300	representation of castings
17400	applications: costing, simulation, quick feedback, resolve interrelationships
17500	deformable objects: separate objects with constraints
17600	information types, information flow, data structures in industry
17700	sensors available, control functions, what changable with better
17800	  sensors?
17900	geometrical specs, technological data, self-documentation and self description
18000	  of system to use in strategy; statistical operational data
18100	models for programming; strategy; costing and optimization-statistical;
18200	  interfacing to other devices; control and scheduling; internal execution
18300	
18400	current state of software does not allow modular systems, structured
18500	programming, definition of data types, symbolic reference, large address
18600	spaces, interaction
18700	It is supposed that business will use a subset of the system requirements
18800	of computing centers.  In actuality, the tasks are much more varied, more involved
18900	with  real-time and device control and more resemble AI environments than
19000	business and computing center (number-crunching) environments.
19100	
19200	relevance of strategies to statistical control and optimization, simulation
19300	
19400	characterizing function: parts, subassemblies, fasteners
19500	form is function
19600	
19700	We do not think a theory as such is possible for anything as
19800	complex as manufacture or assembly.  Instead, we aim to provide a languag
19900	with which to communicate, control.  Make the system hierarchy like the
20000	cost hierarchy.
20100	
20200	Constraints imply force.  These may be inequalities, limited by some
20300	disaster (breaking).  These can be geometric constraints, but if
20400	dynamics are important, force conditions are useful.
20500	
20600	Similarity between hardware/software architecture and industrial
20700	production systems: 
20800	pipelining vs parallelism for speed
20900	serial execution means speed limited by slowest operation
21000	  reliability limited by product of reliabilities of individual elements
21100	synchronous vs asynchronous
21200	why have industrial systems emphasized one structure of system?
21300	  apparently industry has chosen the pipelining serial form of
21400	  system as opposed to parallel.  This is in spite of the facts
21500	  that:
21600	    it is easier to make changes in a parallel system; change one
21700	      machine at a time, leaving bulk of system operting
21800	    reliability is higher; one machine down leaves production intact
21900	    speed is higher; different operations take different times
22000	      instead of all operations take time of slowest
22100	apparently, the answer is that parallel systems require redundant
22200	  hardware; if there are n parallel stations, then there must be
22300	  n feeders for each stage, n jigs, etc.
22400	another reason is that the assembly line is justified by simplifying
22500	  training of human labor
22600	Descriptor systems are the basis for success of large systems which
22700	require coordination of the efforts of several/many people, and the
22800	basis for pessimism about large scale efforts is the lack of such
22900	descriptor systems
23000	
23100	Curve descriptors: interpolation of tangent vectors
23200	(p1,v1) to (p2,v2) cannot be linear since v1 may equal v2 and may
23300	not lie along p2-p1.
23400	We can break down into velocity components normal to p2-p1 and parallel
23500	to p2-p1.  Application to arm interpolation.
23600	F=m*dv/dt;   et=(p2-p1)/|p2-p1|
23700	Ft=(F.et)  tangential component;  Fn=F-Ft*et  normal force vector
23800	
23900	Subsidiary condition for translational invariance
24000	  the surface is (in some sense defined below) aligned along the normal
24100	  to the cutting plane; in 2d, the axis is the bisector of the line and
24200	  bisector of angles;  in general for locally ruled surfaces, the
24300	  "generating lines"=directions of minimum curvature; vectors normal to
24400	  in cutting plane and in tangent plane; components of vectors in plane
24500	  should add to zero.  We need some math results here.
24600	Need representation for force and torque control of manipulation
24700	  Whitney's feedback matrix is ad hoc; he presents no model or way
24800	  of calculating the matrix;  fiddling around with the feedback
24900	  matrix raises serious questions about control stability
25000	
25100	Classification of tasks in terms of range of manipulation (is locomotion
25200	  necessary) is just one way of classification
25300	
25400	statistics, trend analysis
25500	
25600	avoidance, collision detection
25700	
25800	summarize state of art in devices, sensors, software
25900	
26000	assembly tasks in force vector sense
26100	
26200	Waltz-like graph relaxation scheme
26300	
26400	characterizing function of parts, subassemblies
26500	
26600	interpreter for description network
26700	
26800	symbolic vector geometry package
26900	
27000	tolerancing program
27100	
27200	methods of attachment
27300	  insertion into hole; investigate intersection
27400	
27500	lattice world model w/ negation, conjunction, disjunction, conditionals
27600	  must have, might have, must not, might not
27700	
27800	projection multi-entry spaces for avoidance of elongated objects
27900	
28000	articulations- away from interference
28100	  hips-motion is away from other limb, along body
28200	  hand likewise
28300	
28400	Turner's thesis--Huffman-Waltz vertex rules w/ curved objects
28500	REGIONS
28600	the more precise the statistical question asked, the more restrictive
28700	(fewer combinatorial possibilities of random occurence) and the more
28800	sensitive is the test.
28900	
29000	multi-level edge finding: make local descriptions over a grid
29100	(like on 2x2 centers)  Then make more global descriptions along
29200	curves.  Descriptions combine the local descriptions into optimal
29300	smooth curve schemes.
29400	
29500	
29600	VISUAL FEEDBACK
29700	mark tools and arm
29800	
29900	JUSTIFICATIONS FOR PROGRAMMABLE ASSEMBLY
30000	incorporate experience better, more reproducibly, systematically
30100	shortage of highly skilled labor in industry.  Army feels it.
30200	eliminating or automating production of jigs and fixtures (prototyping shop)
30300	  programmable jigs; simple arms
30400	cut down on inventory--store tapes
30500	incremental steps from hard automation--what are they?
30600	
30700	VISION HARDWARE
30800	silicon vidicon advantages
30900	  more sensitive--lower laser power requirements
31000	    increase depth of field
31100	  lower blooming--narrower laser traces
31200	    more flexibility for ordinary tv uses
31300	  less lag--faster laser reading
31400	    allows motion, no burn-in
31500	  higher signal current--higher signal to noise
31600	disadvantages
31700	  variations in sensitivity--how big are they?
31800	  no control on sensitivity--that's ok
31900	
32000	
32100	
32200	COMPANY CONTACTS
32300	Teledyne-Ryan: David A. Carnevale
32400	Texas Instruments: Cliff Penn
32500	AMP
32600	Bendix
32700	Whirlpool
32800	Voelker
32900	Nevins
33000	GM-Perkins, GM application study for vision
33100	IBM-Will
33200	Northrup-Gainnie